package com.ruoyi.fly.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.sql.Timestamp;


/**
 * <p>
 * 实体类
 *
 * </p>
 *
 * @author chenke
 * @since 2022-04-22
 */
@Data
@NoArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "StoreJoin", description = "申请店铺表")
@AllArgsConstructor
public class StoreJoin implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "申请店铺表主键id")
    private String id;

    /**
     * 会员ID
     */
    @ApiModelProperty(value = "会员ID")
    private String mid;

    /**
     * 店铺名称
     */
    @ApiModelProperty(value = "店铺名称")
    @Length(max = 200, message = "店铺名称长度不能超过200")
    private String storeName;

    /**
     * 1汽修店，2保养店，3美容店，4贴膜店，5洗车店，6轮胎更换店，7救援店，8加油站
     */
    @ApiModelProperty(value = "1汽修店，2保养店，3美容店，4贴膜店，5洗车店，6轮胎更换店，7救援店，8加油站")
    private Integer storeType;

    /**
     * 店铺简介
     */
    @ApiModelProperty(value = "店铺简介")
    @Length(max = 500, message = "店铺简介长度不能超过500")
    private String remark;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    @Length(max = 255, message = "经度长度不能超过255")
    private String longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    @Length(max = 255, message = "纬度长度不能超过255")
    private String latitude;

    @ApiModelProperty(value = "注册省份")
    @Length(max = 255, message = "长度不能超过255")
    private String registerProvince;

    @ApiModelProperty(value = "注册城市")
    @Length(max = 255, message = "长度不能超过255")
    @Excel(name = "")
    private String registerCity;

    @ApiModelProperty(value = "注册区域")
    @Length(max = 255, message = "长度不能超过255")
    private String registerArea;


    @ApiModelProperty(value = "省代码号")
    @Length(max = 255, message = "长度不能超过255")
    private String provinceCode;


    @ApiModelProperty(value = "城市代码号")
    @Length(max = 255, message = "长度不能超过255")
    private String cityCode;


    @ApiModelProperty(value = "区域代码号")
    @Length(max = 255, message = "长度不能超过255")
    private String areaCode;

    /**
     * 地址详情
     */
    @ApiModelProperty(value = "地址详情")
    @Length(max = 255, message = "地址详情长度不能超过255")
    private String address;

    /**
     * 0=审核中 1=申请通过 2=申请失败
     */
    @ApiModelProperty(value = "0=审核中 1=申请通过 2=申请失败")
    private Integer applyType;

    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private Long applyUser;

    /**
     * 审核失败原因
     */
    @ApiModelProperty(value = "审核失败原因")
    @Length(max = 255, message = "审核失败原因长度不能超过255")
    private String reason;


    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String telephone;

    /**
     * 营业时间
     */
    @ApiModelProperty(value = "营业时间")
    private String businessHours;

    /**
     * 店面照
     */
    @ApiModelProperty(value = "店面照")
    private String storefrontImg;

    /**
     * 店面背景图
     */
    @ApiModelProperty(value = "背景图")
    private String backgroundImg;

    @ApiModelProperty(value = "联系电话")
    private String contacts;

    @ApiModelProperty(value = "身份证号")
    private String idNum;

    @ApiModelProperty(value = "身份证图片(,拼接正反面)")
    private String idImgs;

    @ApiModelProperty(value = "店铺介绍图片(多张直接用,拼接)")
    private String storeintroImg;


    @ApiModelProperty(value = "1=删除")
    private Integer isDelete;

    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;

    @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp updateTime;
    private Long createUser;
    private Long updateUser;

}
